package com.example.Annocation.commons;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

/**
 * @Description TODO
 * @Date 2024/5/14 18:45
 * @Created by houjunfeng
 */
@org.springframework.stereotype.Service
public class BookService {
    //@Autowired默认按类型装配，如果类型一样就按属性名称作为组件ID进行装配     required = false有进行装配没有不进行装配
    //@Qualifier强制按照后面修饰的id进行注册
    //@Primary可以使得容器自动装配当前修饰的bean

    //    @Qualifier("dao")
    //    @Autowired(required = false)

    //@Resource("dao")  默认按照属性名进行装配的，可以写@Resource("dao2")    不可与@primary  @Qualifier搭配使用
    //@Inject与@Autowied一样，只是没有required属性，还要引入javax.Inject包
    //@Resource(name="dao2")
    @Qualifier("dao2")
    @Autowired(required = false)
    private Dao dao;

    @Override
    public String toString(){
        return "BookService["+dao+"]";
    }
}
